// +----------------------------------
// | Tool 正式版 v1.0.0
// | Date: 2019-05-25
// | Auth: Linzening
// | Url: https://linzening.gitee.io/static/js/tool.js
// +----------------------------------

var tool = {};
/**
 * 时间戳转换为日期时间
 * @param int inputTime 时间戳
 * @param n 倍数：1000时间戳，1毫秒级时间戳
 * @param format 格式：date返回日期，datetime返回日期时间
 * @return string 返回自然时间
 */
tool.stamp2datetime = function(inputTime, n = 1000, format = 'datetime'){
    var date = new Date(inputTime * n);
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? ('0' + m) : m;
    var d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    if( format == 'date' ) return y + '-' + m + '-' + d;
    var h = date.getHours();
    h = h < 10 ? ('0' + h) : h;
    var minute = date.getMinutes();
    var second = date.getSeconds();
    minute = minute < 10 ? ('0' + minute) : minute;
    second = second < 10 ? ('0' + second) : second;
    return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
}

/**
 * 时间戳转换为日期
 * @param int inputTime 时间戳
 * @param n 倍数：1000时间戳，1毫秒级时间戳
 * @param format 格式：date返回日期，datetime返回日期时间
 * @return string 返回自然日期
 */
tool.stamp2date = function(inputTime, n = 1000, format = 'date'){
    return tool.stamp2datetime(inputTime,n,format);
}

/**
 * sessionStorage存储数据
 * @param key string 存储键值
 * @param value array 存储数据（obj或数组）
 * @return string 返回自然时间
 */
tool.cache = function(key,value=null){
    if(value==null){
        // 读取数据
        value = localStorage.getItem(key);
        return JSON.parse(value);
    }else{
        // 保存数据
        localStorage.setItem(key,JSON.stringify(value));
        return true;
    }
}

/**
 * 计算金额（不管是数字还是字符串，返回两位小数的数字）
 * @param num string|int|double 金额
 * @return double 返回金额数量（标准两位小数）
 */
tool.money = function(num){
    if(typeof num =="string"){
        num = parseFloat(num);
        return num.toFixed(2);
    }else if(typeof num == "number"){
        return num.toFixed(2);
    }
}

/**
 * 获取url中的参数 获取url的page参数=>useage：tool.getUrlParam("page")
 * @param num string
 * @return string 返回URL的value
 */
tool.getUrlParam = function(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg); //匹配目标参数
    if (r != null) return unescape(r[2]);
    return null; //返回参数值
}


/**
 * 文件大小
 * @param int size 文件数字大小B
 * @return string 返回可视文件大小
 */
tool.filesize = function (size) {
    size = parseInt(size);
    if (size > 1048576) {
        return (size / 1048576).toFixed(2) + 'MB';
    }
    if (size > 1024) {
        return (size / 1024).toFixed(2) + 'KB';
    }
    if (size < 1) {
        return '';
    }
    return size + 'B';
}